/**
 * homePage.jsp对应的图表（当前针对数据中心）
 */


//数据综合功能性
var action=top.webPath+"/module/datacenter/action/ArchiveDataCenterAction.do";

/**
 * 初始化存储容量图表（仪表盘）
 */
function f_initStoreChart(){
	if($("#dtrChartCenter")){
		var url = action+"?method=getStoreSizeOption";
		var option = top.getAjaxOption({url:url,success:f_createChartStore});
		$.ajax(option);
	}
}

/**
 * 初始化档案接收统计表（混合样式）
 */
function f_initFondsArchsGet(){
	if($("#dtrChartLeft")){
		var url = action+"?method=getFondsArchsGet";
		var option = top.getAjaxOption({url:url,success:f_createFondsArchsGet});
		$.ajax(option);
	}
}

/**
 * 生成堆积条形图
 */
function f_createFondsArchsGet(data){
	if(data!="0"){
		var obj=f_getFondsArchs(data);

		var parm={
			magicType:echartsTool.magicType,//样式
			path:top.webPath,//项目路径
			main:'dtrChartLeft',
			click:null,//点击时执行的方法
			theme:echartsTool.theme[1],//主题
		};

		parm.option = {
			    tooltip : {trigger: 'axis'},
			    toolbox: {show : true,y: 'bottom',
			        feature : {mark : {show: true},dataView : {show: true, readOnly: false},
			            magicType : {show: true, type: ['line', 'bar']},
			            restore : {show: true},saveAsImage : {show: true}}},
			    calculable : true,legend: {data:obj.fonds},
			    xAxis : [{type : 'category',splitLine : {show : false},data : obj.codes}],
			    yAxis : [{type : 'value',position: 'left'}],
			    series : obj.serie
			};
		
		echartsTool.createECharts(parm);
	}
}

/**
 * 堆积条形图数据生成
 */
function f_getFondsArchs(data){
	var obj={};
	
	var retMsg=eval("("+data+")");
	
	var jsonLsfonds=retMsg.jsonLsfonds;
	var jsonLsFyFond=retMsg.jsonLsFyFond;
	var jsonLsCode=retMsg.jsonLsCode;
	var jsonLsByFondCode=retMsg.jsonLsByFondCode;
	var jsonLsByUcmCode=retMsg.jsonLsByUcmCode;
	var jsonLsBySumCode=retMsg.jsonLsBySumCode;
	
	//循环获取单位
	var fonds=new Array();
	fonds[0]="总数";
	for(var i=0; i<jsonLsfonds.length; i++){
		fonds[i+1]=jsonLsfonds[i].FONDS_NAME;
	}
	fonds[jsonLsfonds.length+1]="已入UCM中心";
	
	//循环获取所有档案类型
	var codes=new Array(jsonLsCode.length);
	for(var i=0; i<jsonLsCode.length; i++){
		var arName=jsonLsCode[i][1];
		if(arName.length>4){
			arName=arName.substr(0,2)+arName.substr(4,2);
		}
		codes[i]=arName;
	}
	
	//饼图data
	var pieData=new Array();
	for(var i=0; i<jsonLsfonds.length; i++){
		var fondCode=jsonLsfonds[i].FONDS_CODE;
		pieData[i]={value:0,name:jsonLsfonds[i].FONDS_NAME};
		for(var j=0; j<jsonLsFyFond.length; j++){
			if(jsonLsFyFond[j].FOND_CODE==fondCode){
				pieData[i].value=jsonLsFyFond[j].SUM;
				break;
			}
		}
	}
	
	//柱状图数据
	var serie=new Array();
	
	serie[0]={name:'总数细分',type:'pie',tooltip : {trigger: 'item',formatter: '{a} <br/>{b} : {c} ({d}%)'},
            center: ['82%', '30%'],radius : [0, 50],itemStyle : {normal : {labelLine : {length : 10}}},data:pieData};
			//center: [700,120],radius : [10, 50],itemStyle : {normal : {labelLine : {length : 10}}},data:pieData};
	
	var dataUcm=new Array();
	for(var k=0; k<jsonLsCode.length; k++){
		dataUcm[k]=0;
		for(var i=0; i<jsonLsByUcmCode.length; i++){
			if(jsonLsByUcmCode[i].CODE==jsonLsCode[k][0]){
				dataUcm[k]=jsonLsByUcmCode[i].SUM;
			}
		}
	}
	serie[1]={name:'已入UCM中心',type:'bar',data:dataUcm};
	
	var dataTal=new Array();
	for(var k=0; k<jsonLsCode.length; k++){
		dataTal[k]=0;
		for(var i=0; i<jsonLsBySumCode.length; i++){
			if(jsonLsBySumCode[i].CODE==jsonLsCode[k][0]){
				dataTal[k]=jsonLsBySumCode[i].SUM;
			}
		}
	}
	serie[2]={name:'总数',type:'line',data:dataTal};
	
	for(var i=0; i<jsonLsfonds.length; i++){
		var fondCode=jsonLsfonds[i].FONDS_CODE;
		var fondName=jsonLsfonds[i].FONDS_NAME;
		
		var data=new Array();
		for(var k=0; k<jsonLsCode.length; k++){
			data[k]=0;
		}
		
		serie[i+3]={name:fondName,type:'bar',tooltip : {trigger: 'item'},stack: '细分'};
		for(var j=0; j<jsonLsByFondCode.length; j++){
			if(jsonLsByFondCode[j].FOND_CODE==fondCode){
				for(var k=0; k<jsonLsCode.length; k++){
					var code=jsonLsCode[k][0];
					if(jsonLsByFondCode[j].CODE==code){
						data[k]=jsonLsByFondCode[j].SUM;
						break;
					}
				}
			}
		}
		serie[i+3].data=data;
	}
	
	obj.fonds=fonds;
	obj.codes=codes;
	obj.serie=serie;
	
	return obj;
}

/**
 * 生成存储容量图表
 */
function f_createChartStore(data){
	if(data!="0"){
		var retMsg=eval("("+data+")");
		
		var parm={
			magicType:[echartsTool.magicType[10]],
			path:top.webPath,//项目路径
			main:'dtrChartCenter',
			click:null,//点击时执行的方法
			theme:echartsTool.theme[1],//主题
		};
		parm.option = {
			    tooltip : {
			        formatter: "{a} <br/>{b} : {c}%"
			    },
			    toolbox: {
			        show : true,
			        feature : {
			            mark : {show: true},
			            restore : {show: true},
			            saveAsImage : {show: true}
			        }
			    },
			    series : [
			        {
			            name:'磁盘使用情况',
			            type:'gauge',
			            splitNumber: 10,       // 分割段数，默认为5
			            axisLine: {            // 坐标轴线
			                lineStyle: {       // 属性lineStyle控制线条样式
			                    color: [[0.2, '#228b22'],[0.8, '#48b'],[1, '#ff4500']], 
			                    width: 8
			                }
			            },
			            axisTick: {            // 坐标轴小标记
			                splitNumber: 10,   // 每份split细分多少段
			                length :12,        // 属性length控制线长
			                lineStyle: {       // 属性lineStyle控制线条样式
			                    color: 'auto'
			                }
			            },
			            axisLabel: {           // 坐标轴文本标签，详见axis.axisLabel
			                textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
			                    color: 'auto'
			                }
			            },
			            splitLine: {           // 分隔线
			                show: true,        // 默认显示，属性show控制显示与否
			                length :30,         // 属性length控制线长
			                lineStyle: {       // 属性lineStyle（详见lineStyle）控制线条样式
			                    color: 'auto'
			                }
			            },
			            pointer : {
			                width : 5
			            },
			            title : {
			                show : true,
			                offsetCenter: [0, '-40%'],       // x, y，单位px
			                textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
			                    fontWeight: 'bolder'
			                }
			            },
			            detail : {
			                formatter:'{value}%',
			                textStyle: {       // 其余属性默认使用全局文本样式，详见TEXTSTYLE
			                    color: 'auto',
			                    fontWeight: 'bolder'
			                }
			            },
			            data:[{value: retMsg.value, name: '磁盘使用率'}]
			        }
			    ]
			};
		echartsTool.createECharts(parm);
	}
}